package com.woniu.scss.service;

import com.woniu.common.dto.XGFLDto;
import com.woniu.common.utils.PageParam;
import com.woniu.common.utils.ResponseData;
import com.woniu.scss.dto.ProductAddDTO;
import com.woniu.scss.dto.ProductDTO;
import com.woniu.scss.pojo.Product;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface ProductService extends IService<Product>{


    ResponseData<?> selProductSort();

    ResponseData<?> selProductByCondition(PageParam<ProductDTO> pageParam);

    /**
     * @param id:
     [id]
     * @return com.woniu.common.utils.ResponseData<?>
     * @author zxyang3636
     * @date 2024/8/7
     * {@link ResponseData<?>}
     * @description 上架
     */
    ResponseData<?> putaway(String id);

    ResponseData<?> soldOut(String id);

    ResponseData<?> deleteProduct(List<Product> param);

    ResponseData<?> addProduct(ProductAddDTO productAddDTO) throws Exception;

    ResponseData<?> selProductById(String productId);

    ResponseData<?> updateProduct(ProductAddDTO productAddDTO);

    ResponseData<?> productPush();

    /**
     * 同步下架
     * @param productId
     * @return
     */
    ResponseData<?> xiaJia(List<String> productId);

    /**
     * 同步下架
     * @param productId
     * @return
     */
    ResponseData<?> shangJia(List<String> productId);

    /**
     * 同步修改类型方法
     * @param xgfl
     * @return
     */
    ResponseData<?> updateProductType(XGFLDto xgfl);

    /**
     * 同步删除商品
     * @param productId
     * @return
     */
    ResponseData<?> TBDeletePro(List<String> productId);
}
